#ifndef COMMON_H
#define COMMON_H

#include <QWidget>
#include "listitembox.h"
#include "musiclist.h"
#include <QMediaPlaylist>
namespace Ui {
class Common;
}
enum PageType
{
    LIKE_PAGE, // 我喜欢⻚⾯
    LOCAL_PAGE, // 本地下载⻚⾯
    HISTORY_PAGE // 最近播放⻚⾯
};
class Common : public QWidget
{
    Q_OBJECT

public:
    explicit Common(QWidget *parent = nullptr);
    ~Common();
    void setCommonPageUI(const QString &title, const QString &image);
    void setMusicListType(PageType pageType);
    void addMusicToMusicPage(MusicList &musicList);
    void reFresh(MusicList& musicList);
    void addMusicToPlayer(MusicList &musicList, QMediaPlaylist *playList);
    const QString& getMusicIdByIndex(int index) const;
    void  setImageLabel(QPixmap pixMap);
signals:
    void updateLikeMusic(bool isLike, QString musicId);
    // 该信号由QQMusic处理--在构函数中捕获
    void playAll(PageType pageType);
    void playMusicByIndex(Common*, int);

private:
    Ui::Common *ui;
    // 歌单列表
    QVector<QString> musicListOfPage; // 具体某个⻚⾯的⾳乐，将来只需要存储⾳乐的id即可
    PageType pageType; // 标记属于likePage、localPage、 recentPage哪个⻚⾯
};

#endif // COMMON_H
